package com.hehui.module.goods.contorller;

import com.hehui.common.core.commom.AjaxResult;
import com.hehui.common.core.controller.BaseController;
import com.hehui.common.core.page.TableDataInfo;
import com.hehui.common.utils.StringUtils;
import com.hehui.module.goods.entity.BaseGoods;
import com.hehui.module.goods.entity.GoodsLadderPrice;
import com.hehui.module.goods.service.IGoodsPricedService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
 * 商品价格控制类
 */
@RestController
@RequestMapping("/goodsPrice")
public class GoodsPricedContorller extends BaseController {

    @Autowired
    IGoodsPricedService goodsPricedService;

    /**
     *  查询所有商品 带商户id 查询默认is_del 为1
     * @param merchantId 商户id
     * @return 分页集合
     */
    @GetMapping("/findGoodsPricedAll")
    public TableDataInfo findGoodsPricedAll(Long merchantId){
        startPage();
        List<BaseGoods> list = goodsPricedService.findGoodsPricedAll(merchantId);
        return getDataTable(list);
    }


    /**
     * 模糊查询所有信息 带商户id
     * @param baseGoods 一个商品集合
     * @return
     */
    @PostMapping("/findGoodsPricedLike")
    public TableDataInfo findGoodsPricedLike(@RequestBody BaseGoods baseGoods){
        startPage();
        List<BaseGoods> list = goodsPricedService.findGoodsPricedLike(baseGoods);
        return getDataTable(list);
    }

    /**
     * 批量修改阶梯价 可 单独修改一条
     * @param goodsLadderPrices 需要需要修改的阶梯价 集合
     * @return
     */
    @PostMapping("/updateGoodsLadderPrices")
    public AjaxResult updateGoodsLadderPrices(List<GoodsLadderPrice> goodsLadderPrices){
        // 需要修改的阶梯价集合不为空
        if (StringUtils.isNotEmpty(goodsLadderPrices)){
            // 遍历集合修改阶梯价
            for (GoodsLadderPrice ladderPrice : goodsLadderPrices) {
                // 1.修改阶梯价
                goodsPricedService.updateGoodsLadderPrices(ladderPrice);
                // 2. 在对应的商品价格表中将对应价格改为修改
                // 3.再去根据商品id商品表将应的是否启用阶梯价改为 1
                goodsPricedService.updateGoodsIsLadderByGoodsId(ladderPrice.getGlGoodsid());
            }

        }
        return AjaxResult.success("需要修改的阶梯价不能为空");
    }


}
